#include<bits/stdc++.h>
using namespace std;
int n;
int cnt;
int r[100005];
int vis[100005];
int num;
struct node{
    int cd,cnt;
} nw[100005];
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>r[i];
    }
    sort(r+1,r+1+n);
    for(int i=1;i<=n;i++)
    {
        if(vis[r[i]]==0)
        {
            nw[++num].cd=1;
            nw[num].cnt=1;
            vis[r[i]]=1;
        }
        else
        {
            nw[num].cnt++;
            nw[num].cd++;
        }
    }
    for(int i=2;i<=num;i++)
    {
        for(int j=i-1;j>=1;j--)
        {
            if(nw[j].cnt!=0&&nw[i].cd!=0)
            {
                if(nw[j].cnt>nw[i].cd)
                {
                    nw[j].cnt-=nw[i].cd;
                    nw[j].cd=0;
                }
                else
                {
                    nw[i].cd-=nw[j].cnt;
                    nw[j].cnt=0;
                }
            }
        }
    }
    int ans=0;
    for(int i=1;i<=num;i++)
    {
        ans+=nw[i].cnt;
    }
    cout<<ans;
    return 0;
}
